﻿
namespace IInject.Resolution.Activation
{
	/// <summary>
	/// 
	/// </summary>
	/// <typeparam name="TDependency"></typeparam>
	public interface IDependencyActivator<in TDependency> where TDependency : IDependency
	{
		/// <summary>
		/// 
		/// </summary>
		/// <typeparam name="T"></typeparam>
		/// <param name="dependency"></param>
		/// <returns></returns>
		T Activate<T>(TDependency dependency);
		/// <summary>
		/// 
		/// </summary>
		/// <param name="dependency"></param>
		/// <returns></returns>
		object Activate(TDependency dependency);
	}
}
